আমাজন আরডিএস (Amazon RDS)

AWS CLI এবং SDK দিয়ে অটোমেশন

Database Tutorials - আমাজন আরডিএস (Amazon RDS) - NCTB BOOK

AWS CLI এবং SDK দিয়ে অটোমেশন হলো Amazon Web Services (AWS) এর বিভিন্ন সেবা যেমন EC2, S3, RDS, IAM ইত্যাদি সহজভাবে পরিচালনা এবং কনফিগার করার জন্য একটি শক্তিশালী পদ্ধতি। AWS CLI এবং AWS SDK ব্যবহার করে আপনি AWS এর বিভিন্ন কার্যক্রম অটোমেট করতে পারেন, যেমন রিসোর্স তৈরি, ম্যানেজমেন্ট, এবং ডিপ্লয়মেন্ট। নিচে AWS CLI এবং SDK এর মাধ্যমে অটোমেশন করার বিস্তারিত ব্যাখ্যা দেওয়া হলো।


১. AWS CLI (Command Line Interface)

AWS CLI হল একটি কমান্ড-লাইন টুল, যার মাধ্যমে আপনি আপনার AWS অ্যাকাউন্টে বিভিন্ন কাজ পরিচালনা করতে পারেন। এটি একটি শক্তিশালী অটোমেশন টুল যা স্ক্রিপ্টিং ও রিমোট অ্যাক্সেসের জন্য ব্যবহার করা হয়। AWS CLI দিয়ে আপনি বিভিন্ন রিসোর্স পরিচালনা যেমন EC2 ইনস্ট্যান্স স্টার্ট করা, S3 বকেট তৈরি করা, RDS ডাটাবেস ম্যানেজ করা ইত্যাদি কাজ করতে পারেন।

AWS CLI সেটআপ:

  1. CLI ইনস্টল করা: AWS CLI ইনস্টল করতে AWS CLI ডাউনলোড পেজ থেকে আপনার অপারেটিং সিস্টেম অনুযায়ী ইনস্টলার ডাউনলোড করুন।
  2. AWS CLI কনফিগারেশন: AWS CLI কনফিগার করতে, নিচের কমান্ডটি রান করুন এবং আপনার AWS অ্যাকাউন্টের Access KeySecret Key প্রদান করুন:

    aws configure
    

    এটি আপনাকে নিম্নলিখিত তথ্য প্রদান করতে বলবে:

    • AWS Access Key ID
    • AWS Secret Access Key
    • Default region name (যেমন us-west-1, us-east-2)
    • Default output format (যেমন json, text)

AWS CLI দিয়ে অটোমেশন:

  1. EC2 ইনস্ট্যান্স স্টার্ট করা:

    aws ec2 start-instances --instance-ids i-1234567890abcdef0
    
  2. S3 বকেট তৈরি করা:

    aws s3 mb s3://my-new-bucket
    
  3. RDS ডাটাবেস ইন্সট্যান্স তৈরি করা:

    aws rds create-db-instance --db-instance-identifier mydb --allocated-storage 20 --db-instance-class db.t2.micro --engine mysql --master-username admin --master-user-password mypassword
    

AWS CLI-এর সুবিধা:

  • দ্রুত কাজ করার জন্য কমান্ড ব্যবহার করতে পারবেন।
  • স্ক্রিপ্টিং এবং অটোমেশন সহজে করা যায়।
  • কোডের মাধ্যমে রিসোর্স ম্যানেজমেন্ট করতে সক্ষম।

২. AWS SDK (Software Development Kit)

AWS SDK হল একটি লাইব্রেরি যা আপনার কোডে AWS সেবাগুলির সাথে যোগাযোগ করতে ব্যবহৃত হয়। এটি বিভিন্ন প্রোগ্রামিং ভাষায় উপলব্ধ, যেমন Python (Boto3), Java, Node.js, C# ইত্যাদি। SDK দিয়ে আপনি কোডের মাধ্যমে AWS রিসোর্স তৈরি, কনফিগার এবং ম্যানেজ করতে পারেন।

AWS SDK সেটআপ:

  1. Python SDK (Boto3) ইনস্টল: Python এ AWS SDK ব্যবহারের জন্য Boto3 লাইব্রেরি ইনস্টল করতে হবে:

    pip install boto3
    
  2. Boto3 কনফিগারেশন: আপনি AWS CLI কনফিগার করার মতো করে, Boto3 কনফিগার করতে পারেন:

    aws configure
    

    অথবা আপনি কোডের মধ্যে Access Key এবং Secret Key সরাসরি প্রদান করতে পারেন।

AWS SDK দিয়ে অটোমেশন:

  1. EC2 ইনস্ট্যান্স তৈরি করা (Python):

    import boto3
    
    ec2 = boto3.resource('ec2')
    instances = ec2.create_instances(
        ImageId='ami-0abcdef1234567890',
        MinCount=1,
        MaxCount=1,
        InstanceType='t2.micro'
    )
    print(instances)
    
  2. S3 বকেট তৈরি করা (Python):

    import boto3
    
    s3 = boto3.client('s3')
    s3.create_bucket(Bucket='my-new-bucket')
    
  3. RDS ডাটাবেস ইন্সট্যান্স তৈরি করা (Python):

    import boto3
    
    rds = boto3.client('rds')
    response = rds.create_db_instance(
        DBInstanceIdentifier='mydb',
        AllocatedStorage=20,
        DBInstanceClass='db.t2.micro',
        Engine='mysql',
        MasterUsername='admin',
        MasterUserPassword='mypassword'
    )
    print(response)
    

AWS SDK-এর সুবিধা:

  • কোডের মাধ্যমে AWS সেবা পরিচালনা করতে পারবেন।
  • AWS API কল এবং রিসোর্স কনফিগারেশন কাস্টমাইজ করার জন্য এটি একটি শক্তিশালী টুল।
  • বিভিন্ন প্রোগ্রামিং ভাষায় সমর্থিত, যেমন Python, Java, Node.js, Ruby, C#, Go, এবং PHP।

৩. AWS CloudFormation

AWS CloudFormation হল একটি অটোমেশন টুল যা AWS রিসোর্সের ইনফ্রাস্ট্রাকচার কনফিগারেশনের জন্য ব্যবহার করা হয়। আপনি CloudFormation templates ব্যবহার করে আপনার পুরো ইনফ্রাস্ট্রাকচার এককভাবে তৈরি এবং কনফিগার করতে পারেন। এটি বিশেষভাবে বড় প্রকল্পগুলির জন্য উপযুক্ত যেখানে বহু রিসোর্স ম্যানেজ করা হয়।

CloudFormation টেমপ্লেট উদাহরণ:

Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: my-cloudformation-bucket

এটি একটি S3 বকেট তৈরি করার জন্য CloudFormation টেমপ্লেটের উদাহরণ। আপনি এই YAML বা JSON ফরম্যাটে আরও রিসোর্স কনফিগারেশন করতে পারেন এবং একবার কমান্ড ব্যবহার করে পুরো ইনফ্রাস্ট্রাকচার তৈরি করতে পারবেন।


AWS CLI এবং SDK ব্যবহার করে অটোমেশন সংক্ষেপে:

  1. AWS CLI ব্যবহার করে দ্রুত এক্সিকিউটেবল কমান্ডের মাধ্যমে AWS রিসোর্স তৈরি এবং পরিচালনা করতে পারেন।
  2. AWS SDK ব্যবহার করে প্রোগ্রামিং ভাষায় কোড লিখে AWS রিসোর্স অটোমেট করতে পারেন।
  3. AWS CloudFormation ব্যবহার করে একক টেমপ্লেটের মাধ্যমে পুরো ইনফ্রাস্ট্রাকচার অটোমেটিক্যালি তৈরি করা সম্ভব।

এই সব টুল এবং পদ্ধতির মাধ্যমে আপনি AWS-এ কার্যক্রমগুলো অটোমেট করতে পারবেন এবং রিসোর্স ম্যানেজমেন্টকে সহজ এবং কার্যকরী করতে পারবেন।

Content added By

AWS CLI দিয়ে RDS পরিচালনা

AWS CLI দিয়ে RDS পরিচালনা:

AWS Command Line Interface (CLI) আপনাকে AWS সেবা যেমন RDS (Relational Database Service) পরিচালনা করতে সক্ষম করে, যা কনসোলের তুলনায় স্ক্রিপ্টিং ও অটোমেশন কার্যক্রমের জন্য উপকারী। নিচে RDS-এর বিভিন্ন ব্যবস্থাপনা কাজ AWS CLI দিয়ে কীভাবে করা যায় তা ধাপে ধাপে ব্যাখ্যা করা হয়েছে।


ধাপ ১: AWS CLI ইনস্টল এবং কনফিগারেশন

  1. AWS CLI ইনস্টল করুন:
  2. AWS CLI কনফিগারেশন করুন: AWS CLI কনফিগার করার জন্য আপনার Access Key এবং Secret Access Key প্রয়োজন হবে, যা IAM থেকে পাবেন।

    aws configure
    

    এতে আপনাকে নিম্নলিখিত তথ্য দিতে হবে:

    • AWS Access Key ID
    • AWS Secret Access Key
    • Default region name (যেমন us-west-2)
    • Default output format (যেমন json)

ধাপ ২: RDS ইন্সট্যান্স তৈরি করা

RDS ইনস্ট্যান্স তৈরি করার জন্য, নিচের কমান্ডটি ব্যবহার করুন:

aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --db-instance-class db.t3.micro \
    --engine mysql \
    --master-username admin \
    --master-user-password password123 \
    --allocated-storage 20 \
    --backup-retention-period 7 \
    --no-multi-az \
    --vpc-security-group-ids sg-xxxxxxxx

এটি একটি MySQL ডাটাবেস তৈরি করবে, যার নাম mydbinstance এবং ২০GB স্টোরেজ দেওয়া হবে। আপনি ইন্সট্যান্সের জন্য অন্য সিকিউরিটি গ্রুপ আইডি এবং পাসওয়ার্ড কাস্টমাইজ করতে পারেন।


ধাপ ৩: RDS ইনস্ট্যান্সের স্ট্যাটাস চেক করা

রিডিং বা ইনস্ট্যান্সের স্ট্যাটাস দেখতে নিচের কমান্ড ব্যবহার করুন:

aws rds describe-db-instances \
    --db-instance-identifier mydbinstance

এটি আপনার নির্দিষ্ট db-instance-identifier এর জন্য সমস্ত তথ্য প্রদান করবে, যেমন স্ট্যাটাস, প্রপার্টি এবং কনফিগারেশন।


ধাপ ৪: RDS ইন্সট্যান্স মডিফাই করা

যদি আপনি আপনার ডাটাবেসের কনফিগারেশন পরিবর্তন করতে চান (যেমন ইন্সট্যান্সের সাইজ বা অন্যান্য সেটিংস), আপনি নিচের কমান্ডটি ব্যবহার করতে পারেন:

aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --db-instance-class db.t3.medium \
    --apply-immediately

এটি mydbinstance নামের ডাটাবেস ইন্সট্যান্সের সাইজ পরিবর্তন করবে db.t3.medium এ। --apply-immediately দিয়ে আপনি পরিবর্তনগুলির প্রয়োগ তৎক্ষণাৎ করতে পারেন।


ধাপ ৫: RDS ইনস্ট্যান্স ডিলিট করা

RDS ইনস্ট্যান্স ডিলিট করতে নিচের কমান্ডটি ব্যবহার করুন:

aws rds delete-db-instance \
    --db-instance-identifier mydbinstance \
    --skip-final-snapshot

এটি ইনস্ট্যান্সটি মুছে ফেলবে এবং ফাইনাল স্ন্যাপশট নেবে না। আপনি চাইলে --final-db-snapshot-identifier যুক্ত করে স্ন্যাপশট নিতে পারেন।


ধাপ ৬: RDS Read Replica তৈরি করা

RDS Read Replica তৈরি করার জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

aws rds create-db-instance-read-replica \
    --db-instance-identifier mydb-replica \
    --source-db-instance-identifier mydbinstance \
    --db-instance-class db.t3.medium \
    --availability-zone us-west-2b

এটি mydbinstance এর একটি Read Replica তৈরি করবে mydb-replica নামে। আপনি ভিন্ন অ্যাভেইলেবিলিটি জোনেও এটি কনফিগার করতে পারেন।


ধাপ ৭: RDS Backup তৈরি করা

RDS ডাটাবেসের ব্যাকআপ তৈরি করার জন্য:

aws rds create-db-snapshot \
    --db-snapshot-identifier mydb-snapshot \
    --db-instance-identifier mydbinstance

এটি mydbinstance থেকে একটি স্ন্যাপশট তৈরি করবে এবং তার নাম হবে mydb-snapshot


ধাপ ৮: RDS Snapshot পুনরুদ্ধার করা

একটি স্ন্যাপশট পুনরুদ্ধার করার জন্য:

aws rds restore-db-instance-from-db-snapshot \
    --db-instance-identifier restored-dbinstance \
    --db-snapshot-identifier mydb-snapshot

এটি mydb-snapshot স্ন্যাপশট থেকে একটি নতুন RDS ইনস্ট্যান্স restored-dbinstance তৈরি করবে।


সারাংশ:

  • AWS CLI ব্যবহারের মাধ্যমে আপনি RDS ডাটাবেস ইনস্ট্যান্স তৈরি, পরিচালনা, আপডেট এবং ডিলিট করতে পারবেন।
  • CLI কমান্ডগুলো আপনাকে স্ক্রিপ্টিং এবং অটোমেশন সহজ করে তোলে।
  • ডাটাবেস ইন্সট্যান্স মডিফাই, ব্যাকআপ, স্ন্যাপশট এবং রেপ্লিকা তৈরি করা সম্ভব।

AWS CLI দিয়ে RDS পরিচালনা করা সিস্টেম প্রশাসকদের জন্য একটি শক্তিশালী উপায়, বিশেষত যখন একাধিক ইনস্ট্যান্স এবং ডাটাবেস ইন্সট্যান্সের মধ্যে কাজ করতে হয়।

Content added By

Python boto3 SDK দিয়ে RDS অটোমেশন

boto3 হলো AWS (Amazon Web Services)-এর Python SDK, যা AWS সেবা ব্যবহার করতে সহায়তা করে। এটি RDS (Relational Database Service) পরিচালনার জন্য API কল করতে এবং বিভিন্ন কাজ অটোমেট করতে সাহায্য করে।

এখানে, আমি boto3 SDK দিয়ে RDS সম্পর্কিত কিছু সাধারণ অটোমেশন স্ক্রিপ্ট উদাহরণ প্রদান করব। এই স্ক্রিপ্টগুলির মাধ্যমে আপনি RDS ইন্সট্যান্স তৈরি, মডিফাই, ব্যাকআপ নেওয়া, এবং অন্য অনেক কার্যক্রম অটোমেট করতে পারবেন।


১. RDS ইন্সট্যান্স তৈরি (Create RDS Instance):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS ইনস্ট্যান্স তৈরি করার জন্য API কল
response = rds.create_db_instance(
    DBName='mydb',
    DBInstanceIdentifier='mydbinstance',
    DBInstanceClass='db.t3.micro',
    Engine='mysql',
    MasterUsername='admin',
    MasterUserPassword='yourpassword',
    AllocatedStorage=20,  # GB
    VpcSecurityGroupIds=['sg-xxxxxxxx'],
    MultiAZ=False,  # সেট করতে চাইলে True
    PubliclyAccessible=False,
    BackupRetentionPeriod=7,
    Tags=[
        {'Key': 'Name', 'Value': 'MyRDSInstance'}
    ]
)

print(response)

এখানে আমরা একটি নতুন MySQL ডাটাবেস ইন্সট্যান্স তৈরি করছি। আপনি DBInstanceClass, AllocatedStorage, Engine এবং অন্যান্য কনফিগারেশন ভ্যালু পরিবর্তন করে আপনার প্রয়োজন অনুযায়ী কনফিগারেশন করতে পারেন।


২. RDS ইন্সট্যান্সের স্ট্যাটাস চেক করা (Check DB Instance Status):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# ডাটাবেস ইন্সট্যান্সের স্ট্যাটাস চেক করা
response = rds.describe_db_instances(
    DBInstanceIdentifier='mydbinstance'
)

# স্ট্যাটাস দেখানো
for db_instance in response['DBInstances']:
    print(f"DBInstanceIdentifier: {db_instance['DBInstanceIdentifier']}")
    print(f"DBInstanceStatus: {db_instance['DBInstanceStatus']}")

এই স্ক্রিপ্টটি আপনার নির্দিষ্ট DB ইন্সট্যান্সের স্ট্যাটাস দেখাবে, যেমন available, backing-up, modifying ইত্যাদি।


৩. RDS ইন্সট্যান্স মডিফাই (Modify RDS Instance):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS ইন্সট্যান্স মডিফাই করা
response = rds.modify_db_instance(
    DBInstanceIdentifier='mydbinstance',
    AllocatedStorage=50,  # স্টোরেজ বাড়ানো
    ApplyImmediately=True
)

print(response)

এই স্ক্রিপ্টটি আপনার ডাটাবেস ইন্সট্যান্সের স্টোরেজ সাইজ বাড়াবে। ApplyImmediately=True সেট করলে পরিবর্তনটি সঙ্গে সঙ্গে কার্যকর হবে।


৪. RDS ইন্সট্যান্সের স্ন্যাপশট তৈরি (Create RDS Snapshot):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS স্ন্যাপশট তৈরি করা
response = rds.create_db_snapshot(
    DBSnapshotIdentifier='mydbsnapshot',
    DBInstanceIdentifier='mydbinstance'
)

print(response)

এটি আপনার ডাটাবেস ইন্সট্যান্সের একটি স্ন্যাপশট তৈরি করবে, যাতে ভবিষ্যতে ডাটাবেসের অবস্থান পুনরুদ্ধার করতে পারেন।


৫. RDS ইন্সট্যান্স স্টপ এবং রিস্টার্ট (Stop and Start RDS Instance):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# RDS ইন্সট্যান্স স্টপ করা
response_stop = rds.stop_db_instance(
    DBInstanceIdentifier='mydbinstance'
)
print(f"Stopping DB Instance: {response_stop}")

# RDS ইন্সট্যান্স রিস্টার্ট করা
response_start = rds.start_db_instance(
    DBInstanceIdentifier='mydbinstance'
)
print(f"Starting DB Instance: {response_start}")

এই স্ক্রিপ্ট দুটি রিডান্ট ইন্সট্যান্স স্টপ এবং রিস্টার্ট করতে সহায়তা করবে। আপনি একে অটোমেটিকভাবে চালু/বন্ধ করতে পারেন।


৬. RDS Read Replica তৈরি (Create Read Replica):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# Read Replica তৈরি করা
response = rds.create_db_instance_read_replica(
    DBInstanceIdentifier='mydbreadreplica',
    SourceDBInstanceIdentifier='mydbinstance',
    DBInstanceClass='db.t3.medium',
    PubliclyAccessible=False
)

print(response)

এই স্ক্রিপ্টটি একটি Read Replica তৈরি করবে যা মূল ডাটাবেসের ডেটা সিঙ্ক্রোনাইজ করতে সহায়তা করবে এবং রিড ট্রাফিক পরিচালনার জন্য ব্যবহৃত হবে।


৭. RDS ডাটাবেসের ব্যাকআপ কনফিগারেশন (Modify Backup Retention):

import boto3

# AWS ক্লায়েন্ট তৈরি করুন
rds = boto3.client('rds')

# ব্যাকআপ রিটেনশন পরিবর্তন করা
response = rds.modify_db_instance(
    DBInstanceIdentifier='mydbinstance',
    BackupRetentionPeriod=14,  # ব্যাকআপ রিটেনশন দিন
    ApplyImmediately=True
)

print(response)

এই স্ক্রিপ্টটি ডাটাবেসের ব্যাকআপ রিটেনশন সময় পরিবর্তন করবে। এটি ডাটাবেস ব্যাকআপের কত দিন ধরে রাখা হবে তা নির্ধারণ করে।


boto3 ব্যবহার করার জন্য প্রস্তুতি:

  1. boto3 ইনস্টল করা: boto3 SDK ইনস্টল করতে হবে, যা আপনি নিচের কমান্ড দিয়ে পিপ (pip) এর মাধ্যমে ইনস্টল করতে পারেন:

    pip install boto3
    
  2. AWS ক্রেডেনশিয়াল কনফিগারেশন: AWS CLI বা boto3 ব্যবহার করতে, আপনাকে আপনার AWS Access Key এবং Secret Access Key সেট করতে হবে। আপনি AWS CLI কনফিগারেশন কমান্ড ব্যবহার করে অথবা boto3 লাইব্রেরির মাধ্যমে এ কাজটি করতে পারেন:

    aws configure
    

সারাংশ:

এই স্ক্রিপ্টগুলি Python boto3 SDK ব্যবহার করে RDS এর বিভিন্ন কার্যক্রম অটোমেট করতে সহায়তা করে, যেমন ডাটাবেস তৈরি, স্ট্যাটাস চেক, ব্যাকআপ তৈরি, স্কেলিং, Read Replica তৈরি এবং ইন্সট্যান্স মডিফাই করা। RDS অটোমেশন আপনার ডাটাবেস ম্যানেজমেন্ট অনেক সহজ এবং সময় সাশ্রয়ী করে তোলে।

Content added By

AWS CloudFormation দিয়ে RDS ডেপ্লয়মেন্ট

AWS CloudFormation দিয়ে RDS ডেপ্লয়মেন্ট একটি শক্তিশালী পদ্ধতি, যা আপনাকে Amazon RDS ইনস্ট্যান্সের স্থাপন এবং কনফিগারেশন স্বয়ংক্রিয়ভাবে পরিচালনা করতে সাহায্য করে। CloudFormation এর মাধ্যমে আপনি আপনার RDS ইনস্ট্যান্সের জন্য প্রয়োজনীয় সম্পদগুলো (যেমন VPC, Subnets, Security Groups, RDS ইন্সট্যান্স) কনফিগারেশনসহ সম্পূর্ণ স্ট্যাক হিসেবে তৈরি এবং ডেপ্লয় করতে পারেন।

AWS CloudFormation দিয়ে RDS ডেপ্লয়মেন্টের ধাপ:

AWS CloudFormation দিয়ে RDS ডেপ্লয় করতে, আপনাকে একটি CloudFormation টেমপ্লেট তৈরি করতে হবে। এটি একটি YAML বা JSON ফাইল, যা RDS ইনস্ট্যান্সসহ অন্যান্য AWS রিসোর্স কনফিগারেশনের নির্দেশনা ধারণ করে।


ধাপ ১: CloudFormation টেমপ্লেট তৈরি করা

এখানে একটি সাধারণ CloudFormation YAML টেমপ্লেট দেওয়া হলো, যা একটি RDS MySQL ইনস্ট্যান্স তৈরি করবে।

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyRDSTemplate:
    Type: AWS::RDS::DBInstance
    Properties:
      DBInstanceIdentifier: my-database
      AllocatedStorage: 20
      DBInstanceClass: db.t3.micro
      Engine: MySQL
      EngineVersion: '8.0.23'
      MasterUsername: admin
      MasterUserPassword: !Ref DBPassword
      VPCSecurityGroups:
        - !Ref MySecurityGroup
      DBName: mydb
      MultiAZ: false
      StorageType: gp2
      BackupRetentionPeriod: 7
      PubliclyAccessible: true
      Tags:
        - Key: Name
          Value: MyDatabaseInstance
  MySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Enable MySQL access
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '3306'
          ToPort: '3306'
          CidrIp: '0.0.0.0/0'
  DBPassword:
    Type: AWS::SecretsManager::Secret
    Properties:
      Name: MyDBPassword
      SecretString: '{"username":"admin","password":"mypassword"}'

টেমপ্লেট বিশ্লেষণ:

  1. RDS Instance:
    • AWS::RDS::DBInstance: এই রিসোর্সটি MySQL ডাটাবেস ইনস্ট্যান্স তৈরি করবে।
    • DBInstanceClass: RDS ইন্সট্যান্সের পারফরম্যান্স ক্লাস নির্বাচন করা হয়েছে (এখানে db.t3.micro)।
    • Engine: ডাটাবেস ইঞ্জিন (এখানে MySQL) নির্বাচন করা হয়েছে।
    • MasterUsername এবং MasterUserPassword: ডাটাবেস অ্যাডমিন ইউজারনেম এবং পাসওয়ার্ড।
    • VPCSecurityGroups: নিরাপত্তা গ্রুপ সংযুক্ত করা হয়েছে।
    • PubliclyAccessible: এটি পাবলিক অ্যাক্সেসযোগ্য কনফিগার করেছে।
  2. Security Group:
    • AWS::EC2::SecurityGroup: MySQL পোর্ট (3306) খুলে দেওয়া হয়েছে, যাতে ডাটাবেসে পাবলিক অ্যাক্সেস পাওয়া যায়।
  3. Secrets Manager:
    • AWS::SecretsManager::Secret: ডাটাবেস পাসওয়ার্ড সুরক্ষিতভাবে Secrets Manager থেকে পরিচালনা করা হচ্ছে।

ধাপ ২: CloudFormation Stack তৈরি করা

  1. AWS Management Console এ লগইন করুন এবং CloudFormation সার্ভিস নির্বাচন করুন।
  2. Create Stack বাটনে ক্লিক করুন।
  3. Upload a Template File অপশন নির্বাচন করে আপনার YAML অথবা JSON টেমপ্লেট ফাইল আপলোড করুন।
  4. স্ট্যাকের জন্য একটি নাম দিন (যেমন MyRDSStack) এবং প্রয়োজনীয় কনফিগারেশন নিশ্চিত করুন (যেমন প্যারামিটারস, ট্যাগস ইত্যাদি)।
  5. Next বাটনে ক্লিক করে কনফিগারেশন সম্পূর্ণ করুন এবং Create Stack বাটনে ক্লিক করুন।

CloudFormation স্ট্যাকটি আপনার ডাটাবেস ইনস্ট্যান্স এবং অন্যান্য রিসোর্স তৈরি করতে শুরু করবে।


ধাপ ৩: CloudFormation স্ট্যাক মনিটরিং

  • CloudFormation Console থেকে আপনি স্ট্যাকের অবস্থা দেখতে পারবেন। স্ট্যাক তৈরি হওয়ার পর CREATE_COMPLETE স্ট্যাটাস দেখাবে।
  • আপনি যদি কোনো পরিবর্তন করতে চান, তবে স্ট্যাকটি আপডেট করতে পারবেন এবং CloudFormation স্বয়ংক্রিয়ভাবে রিসোর্সগুলো আপডেট করবে।

ধাপ ৪: ডাটাবেস কানেক্টিভিটি

CloudFormation স্ট্যাক সফলভাবে ডিপ্লয় হলে, আপনি আপনার ডাটাবেসের Endpoint এবং Port দেখতে পারবেন এবং Security Group এর মাধ্যমে ডাটাবেসে অ্যাক্সেস করতে পারবেন।

  • RDS Endpoint: CloudFormation স্ট্যাকের মাধ্যমে প্রাপ্ত Endpoint ব্যবহার করে আপনি MySQL Workbench, DBeaver, অথবা আপনার প্রোগ্রামিং ভাষা দিয়ে ডাটাবেসে কানেক্ট করতে পারবেন।

ধাপ ৫: CloudFormation স্ট্যাকের অবস্থা পরীক্ষা করা

CloudFormation স্ট্যাকটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করতে:

  1. CloudFormation Console থেকে স্ট্যাকের অবস্থা চেক করুন।
  2. CloudWatch Logs থেকে আপনি রিসোর্স ক্রিয়েশন সংক্রান্ত লোগস দেখতে পারেন।

সারাংশ:

  • CloudFormation দিয়ে RDS ডেপ্লয়মেন্টে আপনি YAML বা JSON ফাইল ব্যবহার করে ডাটাবেস ইন্সট্যান্স, সিকিউরিটি গ্রুপ, এবং অন্যান্য রিসোর্স স্বয়ংক্রিয়ভাবে কনফিগার এবং ডিপ্লয় করতে পারেন।
  • এটি রিসোর্স ম্যানেজমেন্ট এবং ইনফ্রাস্ট্রাকচার অটোমেশনকে সহজ করে দেয়।
  • CloudFormation দিয়ে পরিচালনা করা হলে, আপনি একাধিক পরিবেশে একই কনফিগারেশন পুনরায় ব্যবহার করতে পারেন, যা স্কেলিং এবং মেনটেনেন্স সহজ করে।

AWS CloudFormation আপনার ইনফ্রাস্ট্রাকচারকে কোড হিসেবে পরিচালনা করার জন্য একটি শক্তিশালী টুল, যা RDS ডেপ্লয়মেন্টসহ অন্য সকল রিসোর্স ম্যানেজমেন্ট স্বয়ংক্রিয়ভাবে করতে সক্ষম।

Content added By
Promotion